#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <cstring>
//#include <cstdio>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    string str1, str2;
    int a[100000], b[100000], c[1000000], len;
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    cin >> str1;
    str2 = str1;
    a[0] = str1.length();
    for (int i = 1; i <= a[0]; i++)
        a[i] = str1[a[0] - i] - '0';
    b[0] = str2.length();
    for (int i = 1; i <= b[0]; i++)
        b[i] = str2[b[0] - i] - '0';
    memset(c, 0, sizeof(c));
    for (int i = 1; i <= a[0]; i++)
        for (int j = 1; j <= b[0]; j++)
        {
            c[i + j - 1] += a[i] * b[j];
            c[i + j] += c[i + j - 1] / 10;
            c[i + j - 1] %= 10;
        }
    len = a[0] + b[0] + 1;
    while ((c[len] == 0) && (len > 1))
        len--;
    for (int i = len; i >= 1; i--)
        cout << c[i];
    return 0;
}
/*
#include <iostream>
#include <algorithm>
#include <cmath>
//#include <cstdio>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    ll n;
    cin >> n;
    cout << pow(n, 2);
    return 0;
}
//骗分IOI
*/